情熱プログラマー ソフトウェア開発者の幸せな生き方

情熱プログラマーを読んで、感じたこと、考えたこと。読んでいて、どうも自分に足りたいものが3つあるように感じた。その3つとは、次のものである。

本質の理解
練習

圧倒的に本質の理解が出来ていない。
コンピュータはなぜ動くのか?
JavaVMがどのように動いているのか?
GCはどう働くのか?

今まではいつも表面だけなぞってきた気がする。いい加減、プロとしてお金をもらうようになるのだから、本質から理解せねば。また、本質を理解することができれば、この流れの速いIT業界で、流されずにしっかりと自分の頭と手で技術を評価できる気がする。

自分には、本質の理解が足らない。

次にどんなものが流行るか。どこへ向かっていけば、置いていかれずに仕事ができるか。
今後のソフトウェア開発の流れ
ビジネスの世界

今この瞬間だけじゃなくて、ちょっと先の未来。未来を見通す力。業界をリードしてる人は、やはり見ている世界が違う。そんな人たちの目線に少しでも立ちたい。世界を見渡す大局観が欲しい。

一に練習、二に練習 -Practice,Practice,Practice

IT業界では、実践の中で練習することも多い。確かに、ミュージシャンは本番で練習してたんじゃ話にならない。当たり前だけど、自分の時間を使って、練習していかなければいけない。というのも、Ruby合宿、TDDBootCamp名古屋を通じて、自分のスキル不足を圧倒的に感じた。寧ろ、自分って才能ないなぁと思うぐらい。プログラマーには、きっとなるべき人がなるんじゃないかと・・・でも、いいんだっ。

ちょっとずつでもいいから色々出来るようになって、まずは周りの人たちに影響を与えられるように、周りの人をHapplyにできるようになるのが第一目標。

そんな自分の身近な問題を解けるだけの技術力が欲しい。

バンドの中でいつも一番下手くそでいるということの意味は、いつも自分より優れた人と一緒に演奏するという意味。

この文章を読んだときに、2つのイメージが浮かんだ。

1つは、漫画BECK(月刊少年マガジンコミックス)のコユキだ。バンドの中でも、一番の下手くそのコユキは、周りの優秀なバンドメンバーに支えられ、どんどんと成長していく。まさにコユキは、一番の下手くそでいようを体現している。たとえ下手くそでも、A級の人たちに一目置かれ、一緒に演奏してもらっている。

2つ目のイメージは、優れた人と一緒に演奏するということにインスパイアされた。それは、映画「THIS IS IT」のMichael Jacksonとそのコンサートを支えるダンサー、演奏者、スタッフの集団である。一流のアーティストが集まり、一つのコンサートに向けて、お互いを高め合っている。

いつか一流のエンジニア達に囲まれ、一緒に仕事をするのが自分の夢。

考えさせられた言葉たち

自分の知性に投資しよう

良い人材は新しいものを学ぶのが好きなので変化を追い求める。あるいは、異質な経験と環境を押し付けられたために多才で成熟したソフトウェア開発者になったのかもしれない。機会を与えられるだって!そんなの僕だってなかったよ!僕は学ぶ機会を自分でつかまえたんだ。

万能選手になろう

問題なのは、アーキテクトを頂点にしたプロジェクト各作業のバリューチェーンでどこに位置しているかじゃない。どうやって自分を汎用性のある人間にするかだ。

ソフトウェア業界は、希薄なスペシャリスト-スペシャリストという言葉を一つのことしか知らない言い訳に使っている人たち-を大量に生み出している。

ある領域をさらに深いところまで掘り下げるのに役立つ2つの質問
その仕組みはどうなっているのか
そうなるのはなぜか

師匠を見つける
もっと勉強会に行って、師匠を見つけにいこうと思った。

マナー師匠プレゼン師匠Java師匠Scala師匠そう考えると、Twitterっていろんな師匠にダイレクトにアクセスできる。すごいなぁ。

コンテストのような気持ちでプロジェクトに当たろう
今すぐできることは何だろうを口癖にする
君自身が気持ちよくなれば、周囲の人たちも気持ちよくなる
今日の自分に価値はあったか?
自分にどれだけの価値があるか?ポイントは給料の2倍
使命を持て。みんなに自分の使命を知らせよ。
僕らのような普通の人間と僕らの賞賛する人たちの間にある最も大きな壁は、僕ら自身の恐れだ。人脈を作るために必要なのは、謙虚さを少しだけ抑えることポイントは、自分と共通点のある人を見つけること。
既に時代遅れである。
今日の波の最前線に立っていても次の波には既に乗り遅れていることを認識すべし。今何を勉強すべきかを先取りして考えるべき。
昨日よりよく
小さな変更で全体が大きく変わるというわけではない。
大きな問題を解決する際には、なんであれ、改善したいものを昨日よりよくすることに注目する。「仕事は楽しいかね?」で言っていた「明日は今日とは違う自分になる」のことを思い出した。日々、少しずつの改善が大切。

キャリアについてもアジャイルな手法で!
大きな目標を立てたら、それを常に見直すように。
最終的に目指すのは、要件達成ではなく顧客(自分自身)の満足なのだから

Action Plan - 情熱プログラマーを読んで行動すること

コンピュータはなぜ動くかを読んで、低レイヤーの動きを理解する
正規表現の勉強をする ドキュメントのマクロ、置換にも生きてくる・・はず
自分の時間を使って練習する
TopCoder,Codekataにチャレンジする
自分の作業のジェネレータを作る ...テスト自動化とか?
MDA(Model Driven Architecture)モデル駆動アーキテクチャについて調べて、理解する
JUnitの本を買って、勉強する
単体テストのプロになる
Ruby,分散技術を学ぶ

明日は今日とは違う自分になる

今日の21:00~22:00は、XSSが流行るTwitterの中、Twitterでモレスキン読書会がありました。

最近自分もモレスキンを使い始めましたが、もうすでにモレスキンの虜になってしまいました。早くも2冊目に突入する勢いです。@mehoriさんがおっしゃっていた「人生を手帳にいれよう」ということを目指して、自分もユビキタスキャプチャーに挑戦します!!読書会に参加できなかった方は、ハッシュタグ#bloomcafe を追うと面白いかもしれませんね。明日は、ユビキタスキャプチャーをちょっと続け始める自分になります!


Links

プログラマー大局観本質JavaVMソフトウェア開発プログラミング言語ビジネスミュージシャン一番の下手くそでいようBECK(月刊少年マガジンコミックス)バンドTHIS IS ITコンサートダンサーエンジニア投資ソフトウェア開発者アーキテクトバリューチェーンスペシャリスト魚のつり方を学ぶ勉強会師匠マナープレゼンJavaScalaTwitterChange the Worldコネを作る人脈明日は今日とは違う自分になるキャリアアジャイル目標Action Plan正規表現TopCoderCodekataModel Driven ArchitectureJUnit単体テストRubyモレスキン読書会mehori人生を手帳にいれようユビキタスキャプチャー達人プログラマーChad Fowlerでびあんぐる

Tags

bloomcafe技術書